<?php namespace Common\Model;
use Hdphp\Model\Model;
//文章操作模型
class Link extends Model{
	//指定模型操作的表(固定写法)
	protected $table = "link";
	//自动验证(固定写法) 需要通过create方法才能触动
	protected $validate = array(
		array('lname','required','文章标题不能为空',3,3)
	);
	
	//自动完成
	protected $auto = array(
		//添加时间
		array('addtime','time','function',3,1),
		//调用当前类的up方法处理上传
		array('logo','up','method',3,3)
	);
	
	//处理上传
	public function up(){
		//如果有隐藏域，证明是修改，直接返回原地址
		if($logo = Q('post.logo')) return $logo;
		//$_FILES能打印出来才能上传
		$files = Upload::type('jpg,png,gif')->size(2000000)->make();
		//如果上传成功
		if($files){
			//此处return的值会存入logo字段
			return $files[0]['path'];
		}else{
			//如果用户有上传但是上传失败，用户不上传就不压错误了，因为我们允许用户不上传
			if($_FILES['logo']['error'] !=4){
				//sp($_FILES);exit;
				//这个时候把上传的错误压入到模型的error属性里面，这样外面的控制器的getError方法就可以调取到错误了
				$this->error = Upload::getError();
			}
			//返回空字符串给logo字段
			return '';
		}
	}
	
	//添加
	public function addData(){
		//一、验证***********
		//表link验证失败 返回假
		if(!$this->create()) return false;
		//如果有上传压入失败的错误   返回假
		if($this->error) return false;
		
		//二、添加***********
		$this->add();	
		return true;	
	}
	
	//编辑
	public function editData(){
		if(!$this->create()) return false;
		//如果想不加where就能修改，那么必须在页面放主键的隐藏域
		$lid = Q('get.lid',0,'intval');
		$this->where("lid={$lid}")->save();
		return true;
	}

}







